
/**
 * 使用dll技术 对某些库(第三方库: vue react jquery)进行单独打包
 * 
 * 当运行webpack 的时候 默认查找webpack.config.js文件,
 * 因此运行webpack.dll.js时 需要命令 webpack --config webpack.dll.js
 */


const { resolve } = require("path")
const webpack = require("webpack")

module.exports = {
    entry: {
        jquery: ["jquery"]
    },
    output: {
        filename: "[name].js",
        path: resolve(__dirname, "dll"),
        library: "[name]_[hash]", //打包的库向外暴露出去的内容叫什么名字
    },
    plugins: [
        // 打包生成一个manifest.json文件,其提供一个映射关系,表明某个库已经被打包,并且对外暴露出的名称
        new webpack.DllPlugin({
            name: "[name]_[hash]", //映射库的暴露的内容的名称
            path: resolve(__dirname, "dll/manifest.json") //输出文件路径和名称
        })
    ],
    mode: "production"
}